import { extractTimeFormat } from 'element-plus'
import { hyRequest1 } from '..'
import { IAccountData } from './types'
import { IRequest } from '../types'

// 因为我们的url有时不会固定，为了方便我们更改，我们设定一个枚举类型
enum LoginAPI {
  AccountAPI = '/login',
  LoginUserInfo = '/users/',
  UserMenus = '/role/'
}
// 封装一个账号登录请求方法，该方法通过调用封装得axios实例得post方法来请求
export function accountLoginRequest(account: LoginAccountFromType) {
  // 在这里我们调用post时传递得泛型用来确认我们的响应数据的类型结构
  return hyRequest1.post<IRequest<IAccountData>>({
    url: LoginAPI.AccountAPI,
    data: account
  })
}
// 封装一个请求角色信息的方法
export function accountUserInfo(userId: any) {
  return hyRequest1.get<IRequest>({
    url: `${LoginAPI.LoginUserInfo}${userId}`,
    showLoading: false
  })
}

// 封装一个请求用户权限菜单列表的方法
export function accountMenus(userId: number) {
  return hyRequest1.get<IRequest>({
    url: `${LoginAPI.UserMenus}${userId}/menu`,
    showLoading: false
  })
}
